package com.tjetc.servlet;

import jakarta.servlet.*;
import jakarta.servlet.annotation.WebServlet;
import jakarta.servlet.http.HttpServlet;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;

import java.io.IOException;

/*
@WebServlet("/registerServlet")
public class _3RegisterServlet implements Servlet {
    @Override
    public void init(ServletConfig config) throws ServletException {

    }

    @Override
    public ServletConfig getServletConfig() {
        return null;
    }

    @Override
    public void service(ServletRequest req, ServletResponse res) throws ServletException, IOException {
        System.out.println("get/post");
        HttpServletRequest request = (HttpServletRequest) req;
        System.out.println("request.getMethod() = " + request.getMethod());
    }

    @Override
    public String getServletInfo() {
        return "";
    }

    @Override
    public void destroy() {

    }
}
*/

@WebServlet("/registerServlet")
public class _3RegisterServlet extends HttpServlet {

    // 如果不写对应的方法那么 就会报方法不支持的错误
    // 错误信息页面 是Tomcat处理过返回的页面
    // 我们处理最多的请求就是get和post请求
    // 如果使用restful风格式的代码 就会多几个请求方式

    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        // 我们在处理逻辑的时候 post和get请求的逻辑几乎一致 我们为了更好的支持每一个post和get请求
        // 我们可以简化写法
        // 问题：为什么会执行到这里的get/post方法 --------》 多态 动态绑定机制
        System.out.println("get");
        doPost(req, resp);
    }


    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        System.out.println("post");
    }
}

